<!doctype html>  

<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]>    <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]>    <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]>    <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>{{title}}</title>
  <meta name="description" content="Too many popular python packages don't support python 3.">
  <meta name="author" content="Yuv">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="shortcut icon" href="/static/favicon.ico">
  <link rel="apple-touch-icon" href="/static/apple-touch-icon.png">

  <link rel="stylesheet" href="/static/css/style.css?v=2">
  <script src="/static/js/libs/modernizr-1.6.min.js"></script>
</head>

<body>

  <div id="container">
    <b class="border-a"></b> 
    <b class="border-b"></b> 
    <b class="border-c"></b> 
    <b class="border-d"></b> 
   
  
    <header>
        <h1>{{title}}</h1>
    </header>
    
    <div id="main">
        <p>
            Python 3.0 was released December 3, 2008.
        </p>
        <p>
            As listed on PyPI - packages in <span class="red">red</span> don't support python 3, packages in <span class="green">green</span> do. Hopefully one day everything will be greener.
        </p>
        <p>
            Status: {{count}} Updated: {{min_time}}
        </p>
        <table><tr><th>Package</th><th>Downloads</th></tr>
        {% for package in packages %}
            {% if package.equivalent_url or package.force_green %}
                <tr class="py3True" id="{{package.name}}">
                    <td>
                        <a href="{{package.url}}" timestamp="{{package.timestamp}}">{{package.name}}</a>
                        {% if package.force_green %}
                            <img src="static/redtri.png" alt="Wrong trove classifier" title="This package isn't classified as Python 3 compatible on PyPI, please contact its maintainers to fix this."/>
                        {% else %}
                            (<a href="{{package.equivalent_url}}">py3k</a>)
                        {% endif %}
                    </td>
            {% else %}
                <tr class="py3{{package.py3}}" id="{{package.name}}">
                    <td>
                        <a href="{{package.url}}" timestamp="{{package.timestamp}}">{{package.name}}</a>
                        {% if package.py2only %}
                            <img src="static/lock.png" alt="Forever python2" title="The maintainers of this package have declared it will work only on Python 2 for the foreseeable future using the &quot;Programming Language :: Python :: 2 :: Only&quot; classifier."/>
                        {% endif %}
                    </td>
            {% endif %}
                    <td>{{package.downloads}}</td>
            </tr>
        {% endfor %}
        </table>
    </div>


    <footer>
        <ul> 
            <li> 
                Written by <a href="http://uberpython.wordpress.com/">Yuv</a> aka ubershmekel.
            </li>
            <li>
                Don't wait, start <a href="http://wiki.python.org/moin/PortingToPy3k/">porting code to Python 3</a>.
            </li>
            <li>
                Get the source for this GAE app at <a href="http://code.google.com/p/python3wos/">google code</a>.
            </li>
            <li>
                The wall updates almost once a day, see the timestamps in the html.
            </li>
            <li>
                <a href="http://pypi.python.org/pypi/wxPython/">wxPython</a> and <a href="http://pypi.python.org/pypi/PIL">PIL</a> aren't on this chart because they don't host their downloads on PyPI.
            </li>
            <li>
                Design <a href="http://www.reddit.com/r/Python/comments/fk4gs/the_python_3_wall_of_shame/c1giwbi">stolen</a> from <a href="http://html5boilerplate.com/">HTML5 Boilerplate</a>. 
            </li>
            <li>
                If a module is red though it supports python 3 it's because they don't have the "Programming Language :: Python :: 3" tag. Consider contacting the maintainer to fix this.
            </li>
            <li>
                Note that this subdomain's called "python3wos" - when the status was below 50%, the title of the site was "Python 3 Wall of Shame". I kid you not.
            </li>
            <li>
                You may also enjoy a python.org sponsored <a href="http://py3ksupport.appspot.com">wall</a> that suggests this one is "FUD".
                <!--
                To quote the FAQ:
                > Why make this site (e.g. Python 3 Wall of Shame already existed)?
                > I care about seeing Python 3 succeed and pushing against the FUD that some spread about the lack of Python 3 uptake since I am on the Python development team. That means I am willing to put in more time and > > effort into manually updating information than others. I am also willing to put up a little bit of my own money to make sure this web site updates on a daily basis so as to always have the freshest data possible.
                -->
            </li>
        </ul>
        <div class="summary_box" style="margin:2em auto;width:20px;">
        {% for package in packages %}
            {% if package.equivalent_url or package.force_green %}
                <div class="py3True" style="height:1px;"></div>
            {% else %}
                <div class="py3{{package.py3}}" style="height:1px;"></div>
            {% endif %}
        {% endfor %}
        </div>
    </footer>
  </div> <!-- end of #container -->


  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
  <script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
  
  
  <!-- scripts concatenated and minified via ant build script-->
  <!--
  <script src="/static/js/plugins.js"></script>
  <script src="/static/js/script.js"></script>-->
  <!-- end concatenated and minified scripts-->
  
  
  <!--[if lt IE 7 ]>
    <script src="js/libs/dd_belatedpng.js"></script>
    <script> DD_belatedPNG.fix('img, .png_bg'); </script>
  <![endif]-->

  <!-- yui profiler and profileviewer - remove for production -->
  <!--<script src="js/profiling/yahoo-profiling.min.js"></script>
  <script src="js/profiling/config.js"></script>-->
  <!-- end profiling code -->


  <!-- change the UA-XXXXX-X to be your site's ID -->
  <script>
   var _gaq = [['_setAccount', 'UA-4533496-11'], ['_trackPageview']];
   (function(d, t) {
    var g = d.createElement(t),
        s = d.getElementsByTagName(t)[0];
    g.async = true;
    g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    s.parentNode.insertBefore(g, s);
   })(document, 'script');
  </script>


  <script>
    function getParameterByName(name)
    {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.href);
        if(results == null) {
            return "";
        } else {
            return decodeURIComponent(results[1].replace(/\+/g, " "));
        }
    }
    
    if ("1" == getParameterByName("pygmalion")) {
        var cssId = 'myCssId';  // you could encode the css path itself to generate id..
        if (!document.getElementById(cssId))
        {
            var head  = document.getElementsByTagName('head')[0];
            var link  = document.createElement('link');
            link.id   = cssId;
            link.rel  = 'stylesheet';
            link.type = 'text/css';
            link.href = '/static/css/happy.css';
            link.media = 'all';
            head.appendChild(link);
        }        
    }
  </script>
<!--HRD-->
</body>
</html>